/*
 * Qualidade.java
 *
 * Created on 23 de Maio de 2007, 16:21
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package qvoipm.dados;

import java.nio.ByteBuffer;

/**
 * Pacote principal do sistema.
 * Contem as informações de qualidade de voz.
 *
 * @author Rodrigo
 */
public class Qualidade extends Pacote {
    
    public static final byte ID = 2;
    public static final int SIZE = (Integer.SIZE*3)/Byte.SIZE + (Float.SIZE*3)/Byte.SIZE;
    
    private int codec;
    private int chamada;
    private float jitter;
    private float atraso;
    private int perda;
    private float fatorR;
    
    public Qualidade() {
	
    }
    
    public Qualidade(byte bytes[], boolean withID) {
	super(bytes, withID);
    }
    
    protected void fromBytes(ByteBuffer buffer) {
	
	codec = buffer.getInt();
	chamada = buffer.getInt();
	jitter = buffer.getFloat();
	atraso = buffer.getFloat();
	perda = buffer.getInt();
	fatorR = buffer.getFloat();
    }
    
    public byte getID() {
	return ID;
    }
    
    public int getTamanho() {
	return SIZE;
    }
    
    protected void writeBytes(ByteBuffer buffer) {
	
	buffer.putInt(codec);
	buffer.putInt(chamada);
	buffer.putFloat(jitter);
	buffer.putFloat(atraso);
	buffer.putInt(perda);
	buffer.putFloat(fatorR);
    }
    
    public int getCodec() {
	return codec;
    }
    
    public void setCodec(int codec) {
	this.codec = codec;
    }
    
    public int getChamada() {
	return chamada;
    }
    
    public void setChamada(int chamada) {
	this.chamada = chamada;
    }
    
    public float getJitter() {
	return jitter;
    }
    
    public void setJitter(float jitter) {
	this.jitter = jitter;
    }
    
    public float getAtraso() {
	return atraso;
    }
    
    public void setAtraso(float atraso) {
	this.atraso = atraso;
    }
    
    public int getPerda() {
	return perda;
    }
    
    public void setPerda(int perda) {
	this.perda = perda;
    }
    
    public float getFatorR() {
	return fatorR;
    }
    
    public void setFatorR(float fatorR) {
	this.fatorR = fatorR;
    }
    
}
